}
this._altTabPopup = altTabPopup;
+ this._delayedHighlighted = -1;
this._mouseTimeOutId = 0;
this.connect('destroy', this._onDestroy.bind(this));
// We override SwitcherList's _onItemMotion method to delay
// activation when the thumbnail list is open
_onItemMotion(item) {
+ if (item === this._items[this._highlighted] ||
+ item === this._items[this._delayedHighlighted])
+ return Clutter.EVENT_PROPAGATE;
+
const index = this._items.indexOf(item);
- if (this._mouseTimeOutId != 0)
+ if (this._mouseTimeOutId !== 0) {
GLib.source_remove(this._mouseTimeOutId);
+ this._delayedHighlighted = -1;
+ this._mouseTimeOutId = 0;
+ }
+
if (this._altTabPopup.thumbnailsVisible) {
+ this._delayedHighlighted = index;
this._mouseTimeOutId = GLib.timeout_add(
GLib.PRIORITY_DEFAULT,
APP_ICON_HOVER_TIMEOUT,
() => {
this._enterItem(index);
+ this._delayedHighlighted = -1;
this._mouseTimeOutId = 0;
return GLib.SOURCE_REMOVE;
});